/*
 * PhysicsEngine.h
 *
 *  Created on: 18/11/2012
 *      Author: san
 */

#ifndef PHYSICSENGINE_H_
#define PHYSICSENGINE_H_
#include <list>
#include "PhysicsElement.h"

class PhysicsEngine {
private:
	std::list<PhysicsElement *> elements;
	void calculatePosition(PhysicsElement *element, double deltaTime);
	void checkCollisions(PhysicsElement *element);
public:
	PhysicsEngine();
	void run(float deltaTime);
	void add(PhysicsElement &element);
	void remove(PhysicsElement &element);
	virtual ~PhysicsEngine();
};

#endif /* PHYSICSENGINE_H_ */
